#include "../include/Pixel.h"

Pixel::Pixel(byte _r,byte _v,byte _b) : r(_r),v(_v),b(_b)
{
}

Pixel::Pixel(const Pixel& p){
	r = p.r;
	v = p.v;
	b = p.b;
}

Pixel &Pixel::operator+=(const Pixel &p)
{
    r += p.r;
    v += p.v;
    b += p.b;
    
    return *this;
}

Pixel operator*(const Pixel&p, const double& d)
{
	Pixel r;
	r.r = p.r*d;
	r.v = p.v*d;
	r.b = p.b*d;
	return r;
}
Pixel operator+(const Pixel&p1, const Pixel& p2)
{
	Pixel r;
	r.r = p1.r+p2.r;
	r.v = p1.v+p2.v;
	r.b = p1.b+p2.b;
	return r;
}

Pixel operator-(const Pixel&p1, const Pixel& p2)
{
	Pixel r;
	r.r = p1.r-p2.r;
	r.v = p1.v-p2.v;
	r.b = p1.b-p2.b;
	return r;
}

void Pixel::N(){
	if(r<0)
		r=0;
	if(r>255)
		r=255;
	if(v<0)
		v=0;
	if(v>255)
		v=255;
	if(b<0)
		b=0;
	if(b>255)
		b=255;
}

